//
//  CLHTableViewVC.m
//  ListViewModel_Example
//
//  Created by 曹连华 on 2019/7/30.
//  Copyright © 2019 clh2046@163.com. All rights reserved.
//

#import "CLHTableViewVC.h"
#import "CLHTableViewTVCellStyle0.h"
#import "CLHTableViewTVCellStyle1.h"
#import "CLHTableViewCollectionViewTVCell.h"
#import "CLHTableViewSectionHeaderFooterView.h"

#import <Masonry/Masonry.h>
#import <ListViewModel/ListViewModel.h>
#import "CLHTableViewViewModel.h"

#define WEAK_SELF __weak typeof(self)weakSelf = self;
#define STRONG_SELF __strong typeof(weakSelf)self = weakSelf;

@interface CLHTableViewVC ()<UITableViewDelegate>

@property (nonatomic, strong) UITableView *tabliView;
@property (nonatomic, strong) CLHTableViewViewModel *viewModel;

@end

@implementation CLHTableViewVC

@synthesize viewModel = _viewModel;

- (CLHTableViewViewModel *)viewModel {
    if (!_viewModel) {
        _viewModel = [[CLHTableViewViewModel alloc]init];
    }
    return _viewModel;
}


- (void)viewDidLoad {
    [super viewDidLoad];

    [self initUI];
}

- (void)initUI {
    self.navigationItem.title = @"TableView";
    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"打开编辑" style:UIBarButtonItemStylePlain target:self action:@selector(rightBarButtonAction:)];
    [self.tableView registerClass:CLHTableViewTVCellStyle0.class forCellReuseIdentifier:CLHTableViewTVCellStyle0.reuseIdentifier];
    [self.tableView registerClass:CLHTableViewTVCellStyle1.class forCellReuseIdentifier:CLHTableViewTVCellStyle1.reuseIdentifier];
    [self.tableView registerClass:CLHTableViewCollectionViewTVCell.class forCellReuseIdentifier:CLHTableViewCollectionViewTVCell.reuseIdentifier];
    
    [self.tableView registerClass:CLHTableViewSectionHeaderFooterView.class forHeaderFooterViewReuseIdentifier:@"sectionHeader"];
    [self.tableView registerClass:CLHTableViewSectionHeaderFooterView.class forHeaderFooterViewReuseIdentifier:@"sectionFooter"];
    self.tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
    [self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.bottom.leading.trailing.mas_equalTo(0);
    }];
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    NSLog(@"点击了 cell");
}


- (void)rightBarButtonAction:(UIBarButtonItem *)btn {
    [self.tableView setEditing:!self.tableView.isEditing animated:NO];
}

@end
